
package requests

import (
	"github.com/goravel/framework/contracts/http"
	"github.com/goravel/framework/contracts/validation"
)

type DivisionAgentApplyRequest struct {

	Uid string `json:"uid" form:"uid"`

	AgentName string `json:"agent_name" form:"agent_name"`

	Name string `json:"name" form:"name"`

	Phone string `json:"phone" form:"phone"`

	DivisionId string `json:"division_id" form:"division_id"`

	DivisionInvite string `json:"division_invite" form:"division_invite"`

	Images string `json:"images" form:"images"`

	AddTime string `json:"add_time" form:"add_time"`

	Status string `json:"status" form:"status"`

	RefusalReason string `json:"refusal_reason" form:"refusal_reason"`

	IsDel string `json:"is_del" form:"is_del"`

}

func (r *DivisionAgentApplyRequest) Authorize(ctx http.Context) error {
	return nil
}

func (r *DivisionAgentApplyRequest) Rules(ctx http.Context) map[string]string {
	return map[string]string{

		"uid": "required",

		"agent_name": "required",

		"name": "required",

		"phone": "required",

		"division_id": "required",

		"division_invite": "required",

		"images": "required",

		"add_time": "required",

		"status": "required",

		"refusal_reason": "required",

		"is_del": "required",

	}
}

func (r *DivisionAgentApplyRequest) Messages(ctx http.Context) map[string]string {
	return map[string]string{}
}

func (r *DivisionAgentApplyRequest) Attributes(ctx http.Context) map[string]string {
	return map[string]string{}
}

func (r *DivisionAgentApplyRequest) PrepareForValidation(ctx http.Context, data validation.Data) error {
	return nil
}
